import { City } from './city.js';
import { game } from './game.js';

// 初始化游戏
function initGame() {
    // 创建城市
    const c1 = new City("Beijing", "Beijing", 1, 21000000, 90, 1, 1, []);
    const c2 = new City("Tianjin", "Tianjin", 2, 15000000, 50, 2, 2, []);
    const c3 = new City("Hebei", "Langfang", 4, 4700000, 0, 3, 3, []);
    
    // 设置初始状态
    c1.illness.start = true;
    
    // 添加城市到游戏中
    game.allCity.push(c1);
    game.allCity.push(c2);
    game.allCity.push(c3);
    
    // 计算城市间距离并排序
    game.sortAllCity();
    
    return { c1, c2, c3 };
}

// 运行模拟
function runSimulation() {
    const { c1, c3 } = initGame();
    
    // 运行80天的模拟
    for (let day = 1; day <= 80; day++) {
        console.log(`day = ${day}`);
        
        // 在第70天添加交通阻断
        if (day === 70) {
            game.addTransBlock(c1, c3, 200000000);
        }
        
        // 更新所有城市
        for (const city of game.allCity) {
            game.updateTransBlock();
            city.update();
            city.print();
            // 可以添加CSV输出功能
        }
        
        // 暂停一下，让输出更易读
        if (day < 80) {
            console.log('\n-------------------------------------\n');
        }
    }
}

// 运行模拟
runSimulation();

// 导出游戏对象，方便在其他地方使用
export { game, initGame, runSimulation };
